package com.junzhiit.nengji.dao;

import java.util.List;

import com.bainaeco.framework.base.dao.BaseDAO;
import com.junzhiit.nengji.bo.RoleListBO;
import com.junzhiit.nengji.model.Role;

public interface RoleDAO extends BaseDAO<Role> {
	/**
	 * 
	 * TODO 查询所有的角色信息
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 上午9:04:47
	 * @return List<RoleBO>
	 *
	 */
	public List<Role> findAll(int pageNumber, int maxPageRow, Role role);

	/**
	 * 
	 * TODO 查询所有的角色的数量
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 上午9:07:59
	 * @return Integer
	 *
	 */
	public Integer getTotalCount(Role role);

	/**
	 * 
	 * TODO 查询角色Code是否存在
	 * 
	 * @author Qjen
	 * @time 2018年1月24日 下午2:52:05
	 * @return Integer
	 *
	 */
	public Integer getCodeExist(String code);

	/**
	 * 
	 * TODO 获取全部角色
	 * 
	 * @author FebRosy
	 * @time 2018年3月15日 下午12:01:38
	 * @return List<Role>
	 */
	public List<Role> getAll(Role role);

	/**
	 * 
	 * TODO 获取所有功能
	 * 
	 * @author FebRosy
	 * @time 2018年3月15日 下午2:06:42
	 * @return List<RoleListBO>
	 */
	public List<RoleListBO> getAllWithFunction(Role role);
	
	/**
	 * 
	 * TODO 获取商户默认角色数量
	 * 
	 * @author FebRosy
	 * @time 2018年4月10日 下午7:41:45
	 * @return int
	 */
	public int getIsDefaultCount(Integer defaultType);
	
	public Role getDefaultRole(Integer isDefault);

}
